-- time
if CAST('01:01:01' AS TIME) < CAST(CAST('02:02:02' AS TIME) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- date
if CAST('2010-02-02' AS DATE) < CAST(CAST('2020-02-02' AS DATE) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- smalldatetime
if CAST('2010-02-02' AS SMALLDATETIME) < CAST(CAST('2020-02-02' AS SMALLDATETIME) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- datetimeoffset
if CAST('2020-10-05 09:00:00.123456-9:00' AS DATETIMEOFFSET) < CAST(CAST('2020-10-05 09:00:00.123456-8:00' AS DATETIMEOFFSET) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- int
if CAST(1 AS INT) < CAST(CAST(2 AS INT) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- bigint
if CAST(1 AS BIGINT) < CAST(CAST(2 AS BIGINT) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- bit
if CAST(0 AS BIT) < CAST(CAST(1 AS BIT) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- real
if CAST(0.1 AS REAL) < CAST(CAST(1.1 AS REAL) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- float
if CAST(0.1 AS FLOAT) < CAST(CAST(1.1 AS FLOAT) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- numeric
if CAST(0.1 AS NUMERIC(2,1)) < CAST(CAST(1.1 AS NUMERIC(2,1)) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO

-- uniqueidentifier
if CAST('1E984725-C51C-4BF4-9960-E1C80E27ABA0' AS UNIQUEIDENTIFIER) < CAST(CAST('2E984725-C51C-4BF4-9960-E1C80E27ABA0' AS UNIQUEIDENTIFIER) AS SQL_VARIANT) SELECT 1 ELSE SELECT 2;
GO